package com.hk.commons.entity.order;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 
 * 华康和火柴的订单流水数据 
 * Description: 订单流水数据
 * 
 */
@Entity
@Table(name = "t_order_statenmts")
public class OrderStatements implements Serializable {

	private static final long serialVersionUID = -7194913009473686205L;
	
	@Id
	private Long id;
	
	private Long userId;
	
	/**
	 * 订单所属盈米账户ID
	 */
	private String  accountId;
	
	/**
	 * 订单流水号
	 */
	private String brokerOrderNo;

	/** 产品提供商ID*/
	private Integer companyId;
	
	/** 产中ID*/
	private Long productId;
	
	/**
	 * 订单错误码
	 */
	private String errorCode;
	
	/**
	 * 订单错误信息
	 */
	private String errorMessage;
	
	/**
	  *交易费用，以元为单位   
	  */
	private  BigDecimal fee;
	
	/**
	  *订单交易类型，详见交易类型   
	  */
	private  String fundOrderCode;
	
	/**
	  *订单创建时间   
	  */
	 private  Long orderCreatedOn;
	
	 /**
	  *订单ID   
	  */
	 private  Long orderId;
	 
	 /**
	  *订单支付方式ID   
	  */
	 private  String paymentMethodId;
	 
	 /**
	  *	订单支付状态，详见支付状态   
	  *	本字段只表示用户支付时的扣款状态，只对购买类订单有效。
	  *	对于如赎回、转换类订单无任何意义。
	  *	0	处理中
	  *	1	扣款失败
	  *	2	扣款成功
	  */
	 private  Integer payStatus;
	 
	 
	 /**
	  *收费方式，详见收费类型   
	  *	A 	前端收费	当认购、申购开放式基金时就需支付认/申购费的付费方式
	  *	B	后端收费	在购买开放式基金时并不支付认/申购费，等到赎回时才支付的认/申购费方式。
	  *	C	C类收费	不收取申购费率，按照持有时间分类收取赎回费，并收取销售服务费的一种收费模式。
	  */
	 private  String shareType;
	 
	 /**
	  *购买成功的金额
	  */
	 private  BigDecimal successAmount;
	 
	 /**
	  *交易金额，购买类订单会存在此参数   
	  */
	 private  BigDecimal tradeAmount;
	 
	 /**
	  *	交易金额币种，购买类订单会存在此参数，详见币种   
	  * 156	人民币	CNY
	  * 840	美元	USD
	  * 344	港币	HKD
	  * 954	欧元	EUR
	  * 392	日元	JPY
	  * 826	英镑	GBP
	  * 250	法郎	 
	  * 280	马克	 
	  */
	 private  String tradeCurrency;
	 
	 /**
	  *交易份额，赎回和转换类订单会存在此参数，单位“份”   
	  */
	 private  BigDecimal tradeShare;
	 
	 /** 理财师ID*/
	 private Long financialPlannerId;
	 
	 /**
	  * 支付信息
	  */
	 private Long paymentId;
	 
	 /**
	  * 预期收益
	  */
	 private BigDecimal dividend;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public String getAccountId() {
		return accountId;
	}

	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	public String getBrokerOrderNo() {
		return brokerOrderNo;
	}

	public void setBrokerOrderNo(String brokerOrderNo) {
		this.brokerOrderNo = brokerOrderNo;
	}

	public Integer getCompanyId() {
		return companyId;
	}

	public void setCompanyId(Integer companyId) {
		this.companyId = companyId;
	}

	public Long getProductId() {
		return productId;
	}

	public void setProductId(Long productId) {
		this.productId = productId;
	}

	public String getErrorCode() {
		return errorCode;
	}

	public void setErrorCode(String errorCode) {
		this.errorCode = errorCode;
	}

	public String getErrorMessage() {
		return errorMessage;
	}

	public void setErrorMessage(String errorMessage) {
		this.errorMessage = errorMessage;
	}

	public BigDecimal getFee() {
		return fee;
	}

	public void setFee(BigDecimal fee) {
		this.fee = fee;
	}

	public String getFundOrderCode() {
		return fundOrderCode;
	}

	public void setFundOrderCode(String fundOrderCode) {
		this.fundOrderCode = fundOrderCode;
	}

	public Long getOrderCreatedOn() {
		return orderCreatedOn;
	}

	public void setOrderCreatedOn(Long orderCreatedOn) {
		this.orderCreatedOn = orderCreatedOn;
	}

	public Long getOrderId() {
		return orderId;
	}

	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}

	public String getPaymentMethodId() {
		return paymentMethodId;
	}

	public void setPaymentMethodId(String paymentMethodId) {
		this.paymentMethodId = paymentMethodId;
	}

	public Integer getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(Integer payStatus) {
		this.payStatus = payStatus;
	}

	public String getShareType() {
		return shareType;
	}

	public void setShareType(String shareType) {
		this.shareType = shareType;
	}

	public BigDecimal getSuccessAmount() {
		return successAmount;
	}

	public void setSuccessAmount(BigDecimal successAmount) {
		this.successAmount = successAmount;
	}

	public BigDecimal getTradeAmount() {
		return tradeAmount;
	}

	public void setTradeAmount(BigDecimal tradeAmount) {
		this.tradeAmount = tradeAmount;
	}

	public String getTradeCurrency() {
		return tradeCurrency;
	}

	public void setTradeCurrency(String tradeCurrency) {
		this.tradeCurrency = tradeCurrency;
	}

	public BigDecimal getTradeShare() {
		return tradeShare;
	}

	public void setTradeShare(BigDecimal tradeShare) {
		this.tradeShare = tradeShare;
	}

	public Long getFinancialPlannerId() {
		return financialPlannerId;
	}

	public void setFinancialPlannerId(Long financialPlannerId) {
		this.financialPlannerId = financialPlannerId;
	}

	public Long getPaymentId() {
		return paymentId;
	}

	public void setPaymentId(Long paymentId) {
		this.paymentId = paymentId;
	}

	public BigDecimal getDividend() {
		return dividend;
	}

	public void setDividend(BigDecimal dividend) {
		this.dividend = dividend;
	}
	 

}
